Core Event Bus 0.1.0

Bus de eventos con RabbitMQ usando exchanges tipo topic.

  • El exchange actúa como router (no es el evento).
  • Los eventos se publican con routingKey (p.ej. user.created).
  • Cada microservicio tiene su propia cola y la bindea al exchange con la bindingKey que necesita (p.ej. user.*).
  • Entrega at-least-once; se recomienda idempotencia en consumidores.
  • Envelope estilo CloudEvents 1.0: (specversion, id, source, type, subject, time, data).
  • #Users
  • #Inscripciones
  • #Publish
  • #Subscribe
  • #Materias
  • #Correlativas
  • #DocentesMateria

Servers

  • amqp://guest:guest@localhost:5672amqp 0-9-1rabbitmqLocal

    RabbitMQ local (desarrollo)

Operations

  • SUB user.created

    Evento emitido por BackOffice cuando se crea un usuario.

    User Creation.

    Operation IDsubscribeUserCreatedV1

    Available only on servers:

    object
    object
    • #Users
    • #Subscribe

    Accepts the following message:

    User Created v1

    Notifica que un usuario fue creado en BackOffice.

    object

    Envelope + payload específico del evento UserCreated v1.

    object

    Examples

  • PUB inscripciones.created

    Evento emitido cuando se crea una inscripción. Evento producido por CORE, consumido por Alumnos (entre otros).

    Registration Creation.

    Operation IDpublishInscripcionCreatedV1

    Available only on servers:

    object
    object
    • #Publish
    • #Inscripciones

    Accepts the following message:

    Inscripción Creada v1

    Notifica que se creó una inscripción.

    object

    Envelope + payload específico del evento InscripcionCreated v1.

    object

    Examples

  • PUB inscripciones.delete

    Evento emitido cuando se elimina una inscripción. Evento producido por CORE, consumido por Alumnos (entre otros)

    Registration Deletion.

    Operation IDpublishInscripcionDeleteV1

    Available only on servers:

    object
    object
    • #Publish
    • #Inscripciones

    Accepts the following message:

    Inscripción Eliminada v1

    Notifica que se eliminó una inscripción.

    object

    Envelope + payload específico del evento InscripcionDeleted v1.

    object

    Examples

  • PUB materias.created

    Evento emitido cuando se crea una materia. Evento producido por CORE, consumido por Docentes (entre otros).

    Materia Creation.

    Operation IDpublishMateriaCreatedV1

    Available only on servers:

    object
    object
    • #Publish
    • #Materias

    Accepts the following message:

    Materia Created v1

    Notifica que se creo una materia.

    object

    Envelope + payload especifico del evento MateriaCreated v1.

    object

    Examples

  • PUB materias.updated

    Evento emitido cuando se actualiza una materia. Evento producido por CORE, consumido por Docentes (entre otros).

    Materia updated.

    Operation IDpublishMateriaUpdatedV1

    Available only on servers:

    object
    object
    • #Publish
    • #Materias

    Accepts the following message:

    Materia Created v1

    Notifica que se creo una materia.

    object

    Envelope + payload especifico del evento MateriaCreated v1.

    object

    Examples

  • PUB materias.delete

    Evento emitido cuando se elimina una materia, Evento producido por CORE, consumido por Docentes (entre otros).

    Materia Deletion.

    Operation IDpublishMateriaDeleteV1

    Available only on servers:

    object
    object
    • #Publish
    • #Materias

    Accepts the following message:

    Materia Deleted v1

    Notifica que se elimino una materia.

    object

    Envelope + payload especifico del evento MateriaDeleted v1.

    object

    Examples

  • PUB correlativas.created

    Evento emitido cuando se crea una correlatividad entre materias. Evento producido por CORE, consumido por Varios.

    Correlativa Creation.

    Operation IDpublishCorrelativaCreatedV1

    Available only on servers:

    object
    object
    • #Publish
    • #Correlativas

    Accepts the following message:

    Correlativa Created v1

    Notifica que se creo una correlatividad entre materias.

    object

    Envelope + payload especifico del evento CorrelativaCreated v1.

    object

    Examples

  • PUB correlativas.updated

    Evento emitido cuando se actualiza una correlatividad entre materias. Evento producido por CORE, consumido por Varios.

    Correlativa updated.

    Operation IDpublishCorrelativaUpdatedV1

    Available only on servers:

    object
    object
    • #Publish
    • #Correlativas

    Accepts the following message:

    Correlativa Created v1

    Notifica que se creo una correlatividad entre materias.

    object

    Envelope + payload especifico del evento CorrelativaCreated v1.

    object

    Examples

  • PUB correlativas.delete

    Evento emitido cuando se elimina una correlatividad entre materias. Evento producido por CORE, consumido por Varios.

    Correlativa Deletion.

    Operation IDpublishCorrelativaDeleteV1

    Available only on servers:

    object
    object
    • #Publish
    • #Correlativas

    Accepts the following message:

    Correlativa Deleted v1

    Notifica que se elimino una correlatividad entre materias.

    object

    Envelope + payload especifico del evento CorrelativaDeleted v1.

    object

    Examples

  • PUB docentes_materia.created

    Evento emitido cuando se asigna un docente a una materia. Evento producido por CORE, consumido por Docentes.

    Docente Materia Creation.

    Operation IDpublishDocenteMateriaCreatedV1

    Available only on servers:

    object
    object
    • #Publish
    • #DocentesMateria

    Accepts the following message:

    Docente Materia Created v1

    Notifica que se creo una asignacion docente-materia.

    object

    Envelope + payload especifico del evento DocenteMateriaCreated v1.

    object

    Examples

  • PUB docentes_materia.delete

    Evento emitido cuando se elimina la asignacion de un docente a una materia. Evento producido por CORE, consumido por Docentes.

    Docente Materia Deletion.

    Operation IDpublishDocenteMateriaDeleteV1

    Available only on servers:

    object
    object
    • #Publish
    • #DocentesMateria

    Accepts the following message:

    Docente Materia Deleted v1

    Notifica que se elimino una asignacion docente-materia.

    object

    Envelope + payload especifico del evento DocenteMateriaDeleted v1.

    object

    Examples

  • PUB wallet.created

    Evento emitido cuando se crea una wallet. Producido por CORE, consumido por docentes, alumnos, tienda, comedor.

    Wallet Creation.

    Operation IDpublishWalletCreatedV1

    Available only on servers:

    object
    object
    • #Publish
    • #Wallets

    Accepts the following message:

    Wallet Created v1

    Notifica que se creó una wallet.

    object

    Envelope + payload para WalletCreated v1.

    Examples

  • PUB wallet.amount.updated

    Se actualiza el balance de una wallet (por movimientos/ajustes). Producido por CORE.

    Wallet Balance Updated.

    Operation IDpublishWalletAmountUpdatedV1

    Available only on servers:

    object
    object
    • #Publish
    • #Wallets

    Accepts the following message:

    Wallet Amount Updated v1

    Notifica cambio de balance en una wallet.

    object

    Envelope + payload para WalletAmountUpdated v1.

    Examples

  • PUB transfer.created

    Se inicia una transferencia entre wallets. Producido por CORE.

    Transfer Created.

    Operation IDpublishTransferCreatedV1

    Available only on servers:

    object
    object
    • #Publish
    • #Transfers

    Accepts the following message:

    Transfer Created v1

    Notifica que se inició una transferencia entre wallets.

    object

    Envelope + payload para TransferCreated v1.

    Examples

  • PUB transfer.canceled

    Una transferencia iniciada se cancela. Producido por CORE.

    Transfer Canceled.

    Operation IDpublishTransferCanceledV1

    Available only on servers:

    object
    object
    • #Publish
    • #Transfers

    Accepts the following message:

    Transfer Canceled v1

    Notifica que una transferencia fue cancelada.

    object

    Envelope + payload para TransferCanceled v1.

    Examples

Messages

  • #1User Created v1UserCreatedV1

    Notifica que un usuario fue creado en BackOffice.

    Message IDUserCreatedV1
    object

    Envelope + payload específico del evento UserCreated v1.

    object
  • #2Inscripción Creada v1InscripcionCreatedV1

    Notifica que se creó una inscripción.

    Message IDInscripcionCreatedV1
    object

    Envelope + payload específico del evento InscripcionCreated v1.

    object
  • #3Inscripción Eliminada v1InscripcionDeletedV1

    Notifica que se eliminó una inscripción.

    Message IDInscripcionDeletedV1
    object

    Envelope + payload específico del evento InscripcionDeleted v1.

    object
  • #4Materia Created v1MateriaCreatedV1

    Notifica que se creo una materia.

    Message IDMateriaCreatedV1
    object

    Envelope + payload especifico del evento MateriaCreated v1.

    object
  • #5Materia Deleted v1MateriaDeletedV1

    Notifica que se elimino una materia.

    Message IDMateriaDeletedV1
    object

    Envelope + payload especifico del evento MateriaDeleted v1.

    object
  • #6Correlativa Created v1CorrelativaCreatedV1

    Notifica que se creo una correlatividad entre materias.

    Message IDCorrelativaCreatedV1
    object

    Envelope + payload especifico del evento CorrelativaCreated v1.

    object
  • #7Correlativa Deleted v1CorrelativaDeletedV1

    Notifica que se elimino una correlatividad entre materias.

    Message IDCorrelativaDeletedV1
    object

    Envelope + payload especifico del evento CorrelativaDeleted v1.

    object
  • #8Docente Materia Created v1DocenteMateriaCreatedV1

    Notifica que se creo una asignacion docente-materia.

    Message IDDocenteMateriaCreatedV1
    object

    Envelope + payload especifico del evento DocenteMateriaCreated v1.

    object
  • #9Docente Materia Deleted v1DocenteMateriaDeletedV1

    Notifica que se elimino una asignacion docente-materia.

    Message IDDocenteMateriaDeletedV1
    object

    Envelope + payload especifico del evento DocenteMateriaDeleted v1.

    object
  • #10Wallet Created v1WalletCreatedV1

    Notifica que se creó una wallet.

    Message IDWalletCreatedV1
    object

    Envelope + payload para WalletCreated v1.

  • #11Wallet Amount Updated v1WalletAmountUpdatedV1

    Notifica cambio de balance en una wallet.

    Message IDWalletAmountUpdatedV1
    object

    Envelope + payload para WalletAmountUpdated v1.

  • #12Transfer Created v1TransferCreatedV1

    Notifica que se inició una transferencia entre wallets.

    Message IDTransferCreatedV1
    object

    Envelope + payload para TransferCreated v1.

  • #13Transfer Canceled v1TransferCanceledV1

    Notifica que una transferencia fue cancelada.

    Message IDTransferCanceledV1
    object

    Envelope + payload para TransferCanceled v1.

Schemas

  • object
  • object
  • object
  • object

    Envelope + payload específico del evento UserCreated v1.

  • object

    Envelope + payload específico del evento InscripcionCreated v1.

  • object

    Envelope + payload específico del evento InscripcionDeleted v1.

  • object

    Envelope + payload especifico del evento MateriaCreated v1.

  • object

    Envelope + payload especifico del evento MateriaDeleted v1.

  • object

    Envelope + payload especifico del evento CorrelativaCreated v1.

  • object

    Envelope + payload especifico del evento CorrelativaDeleted v1.

  • object

    Envelope + payload especifico del evento DocenteMateriaCreated v1.

  • object

    Envelope + payload especifico del evento DocenteMateriaDeleted v1.

  • object

    Envelope + payload para WalletCreated v1.

  • object

    Envelope + payload para WalletAmountUpdated v1.

  • object

    Envelope + payload para TransferCreated v1.

  • object

    Envelope + payload para TransferCanceled v1.